Conventionally, there have been proposed techniques in each of which a moving direction of a moving body with respect to a world coordinate system is estimated, based on measured data obtained by a sensing device, such as an accelerometer, a magnetometer, a gyro, or a pressure sensor, which is included in a device held by a moving body such as a pedestrian (Non-Patent Literature 1).
In order to estimate a moving direction of a moving body with respect to a world coordinate system, it is necessary to simultaneously estimate the following three vectors in a sensor coordinate system of a sensing device: (1) a gravitational direction vector, (2) a horizontal reference direction vector which indicates a true north direction or the like, and (3) a travel direction vector. By estimating (tracking) the vectors (1) through (3), it is possible to estimate an angle between the horizontal reference direction and a travel direction. This allows a movement azimuth of the moving body to be estimated.
The gravitational direction vector (1) above can be obtained by tracking a gravitational direction in the sensor coordinate system to be tracked, based on three-axis data supplied from each of an accelerometer and an angular velocity sensor. The horizontal reference direction vector (2) above can be obtained by tracking a horizontal reference direction by use of an accelerometer, an angular velocity sensor, and a magnetometer. For example, Non-Patent Literature 1 specifically discloses a method of tracking a gravitational azimuth vector and a horizontal reference direction vector. There is also a known method which is based on a so-called AHRS (Attitude and Heading Reference System).
The travel direction vector (3) above poses technical problems which largely vary, depending on whether (i) a sensing device is fixed to a foot or the waist of a pedestrian serving as a moving body or (ii) a pedestrian flexibly changes an attitude in which to hold a device included in a sensing device.
For example, in a case where a sensing device is fixed, a position of the sensing device in relation to a pedestrian is fixed. This causes a result of tracking a travel direction of the moving body to be substantially known, and therefore allows the tracking to be relatively easy. However, in a case where there are flexible changes in a position and an attitude in which a sensing device is to be held, tracking of a travel direction is not easy.
Therefore, although various methods have been proposed for estimating a travel direction (Patent Literature 1 and Patent Literature 2), these methods could not accurately estimate a travel direction.
With regard to patterns of acceleration components and angular velocity components of a walking motion of a person, Non-Patent Literature 2 discloses frequency characteristics of components as shown in the following Table 1, which components are obtained by resolving an acceleration vector (three axes) and an angular velocity vector (three axes) each in (i) a travel direction of the walking motion, (ii) a vertical direction (gravitational direction), and (iii) a right-left direction (horizontal direction) which is orthogonal to the travel direction and to the vertical direction.
TABLE 1AccelerationAngular velocitycomponentcomponentVertical direction axisWalkingWalking(yaw axis)frequencyfrequency × ½Right-left direction axisWalkingWalking(pitch axis)frequency × ½frequencyTravel direction axisWalkingWalking(roll axis)frequencyfrequency × ½
That is, in a case where an acceleration vector and an angular velocity vector can each be resolved into components so as to meet properties as shown in Table 1, it is possible to assume that directions, in which the vectors are resolved into the components, are an accurate travel direction and an accurate right-left direction (horizontal direction).
Non-Patent Literature 2 proposes an algorithm for estimating a travel direction, which algorithm causes an azimuth to be continuously changed by only as much a resolution as necessary.